<?php
require_once 'login.php';

class CadastroRepublicaController {

    private $usuario;

    function CadastroRepublicaController() {
        if ($this->verificaFormCadastroRepublica()) {
            //header("Location: ./minharepublica");
        }
        if (LoginController::singleton()->estaConectado()) {
            $this->usuario = LoginController::singleton()->getUsuario();
            require_once 'viewCadastroRepublica.php';
        } else {
            require_once 'viewPrincipal.php';
        }
    }

    function verificaFormCadastroRepublica() {
        if (!empty($_POST)) {
            if (!empty($_POST['formCadastroRepublica'])) {
                $this->addRepublica();
                return true;
            }
        }
        return false;
    }

    function addRepublica() {
        require_once 'DAO/DaoRepublica.php';
        require_once 'DAO/DaoEndereco.php';
        require_once 'DAO/DaoBairro.php';
        require_once 'DAO/DaoCidade.php';
        require_once 'DAO/DaoUsuarioRepublica.php';
        require_once 'Dao/DaoUsuario.php';
        require_once 'DAO/DaoImagemRepublica.php';
        $republica = new Republica();
        $dr = new DaoRepublica();
        $de = new DaoEndereco();
        $db = new DaoBairro();
        $dc = new DaoCidade();

        $republica->setCidade($dc->getCidade($_POST['edtCidade']));
        $republica->setDescricaoEndereco(nl2br($_POST['edtDescricao']));

        $endereco = $de->getEnderecoByDescricao($_POST['edtEndereco']);
        if ($endereco == NULL) {
            $endereco = $de->addEndereco(new Endereco(1, $_POST['edtEndereco']));
        }
        $republica->setEndereco($endereco);
        $republica->setTipo($_POST['edtTipo']);
        $bairro = $db->getBairroByDescricao($_POST['edtBairro']);
        if ($bairro == NULL) {
            $bairro = $db->addBairro(new Bairro(0, $_POST['edtBairro']));
        }
        $republica->setBairro($bairro);


        $republica->setNome($_POST['edtNome']);
        $republica->setNumero($_POST['edtNumero']);
        $republica->setQuantiaVagas($_POST['edtVagas']);
        $idRepublica = $dr->addRepublica($republica);
        if ($idRepublica != -1) {
            $republica->setCodigo($idRepublica);
            $ur = new UsuarioRepublica();
            $du = new DaoUsuario();
            $ur->setPrincipal('S');
            $ur->setRepublica($republica);
            $ur->setUsuario($du->getUsuario($_POST['codUsuario']));
            $dur = new DaoUsuarioRepublica();
            if ($dur->addUsuarioRepublica($ur) == -1) {
                $dr->deleteRepublica($idRepublica);
            }

            /*          Adicionando Imagens ao Banco de Dados           */
            $dir = new DaoImagemRepublica();
            $imagem = new Imagem();
            $imagem->setObjeto($republica);

            $arquivos = 0;
            if ($_FILES['edtImagemRepublica']['error'] == UPLOAD_ERR_OK) {
                if (is_uploaded_file($_FILES['edtImagemRepublica']['tmp_name'])) {
                    $caminho = "republicas/R$idRepublica-" . time() . "-F$arquivos.jpg";
                    if (move_uploaded_file($_FILES['edtImagemRepublica']['tmp_name'], "C:/xampp/htdocs/Versao1/img/" . $caminho)) {
                        $imagem->setDescricao("Imagem");
                        $imagem->setPrincipal('S');
                        $imagem->setImagem($caminho);
                        $dir->addImagem($imagem);
                    }
                }
            }
            $imagem->setPrincipal('N');
            for ($i = 0; $i < count($_FILES['edtImagensRepublica']['name']); $i++) {
                if ($_FILES['edtImagensRepublica']['error'][$i] == UPLOAD_ERR_OK) {
                    if (is_uploaded_file($_FILES['edtImagensRepublica']['tmp_name'][$i])) {
                        $arquivos = $arquivos + 1;
                        $caminho = "republicas/R$idRepublica-" . time() . "-F$arquivos.jpg";
                        if (move_uploaded_file($_FILES['edtImagensRepublica']['tmp_name'][$i], "C:/xampp/htdocs/Versao1/img/" . $caminho)) {
                            $imagem->setImagem($caminho);
                            $dir->addImagem($imagem);
                        }
                    }
                }
            }
        }
    }

    function getRepublicasVertical() {
        
    }

    function getEventosVertical() {
        require_once 'DAO/DaoEventos.php';
        require_once 'DAO/DaoImagemEvento.php';
        $de = new DaoEventos();
        $teste = $de->getEventos(3);
        foreach ($teste as $eve) {
            $die = new DaoImagemEvento();
            $image = $die->getImagemPrincipal($eve->getCodigo());
            if ($image == NULL) {
                $image = new Imagem();
                $image->setImagem(file_get_contents('img/tudohoje.png'));
            }
            ?>
            <a class="text-center" href="/Versao1/evento/<? echo $eve->getCodigo(); ?>">
                <div class="thumbnail" style="margin-bottom: 5px;">
                    <h3><? echo (strlen($eve->getTitulo()) > 43) ? substr($eve->getTitulo(), 0, 40) . '...' : $eve->getTitulo(); ?></h3>
            <? echo '<img  src="data:image/jpeg;base64,' . base64_encode($image->getImagem()) . '">'; ?>
                </div>
            </a>
            <?
        }
    }

    public function getUsuario() {
        return $this->usuario;
    }

}
?>
